import request from '@/config/axios'

// 挂车管理 VO
export interface TrailerVO {
  id: number // ID
  carrierUscc: string // 承运商统一社会信用代码/身份证
  carrierName: string // 承运商/车队长名称
  trailerNo: string // 挂车号
  trailerPlateColor: string // 拖车颜色
  transportNo: string // 道路运输证号
  transportUrl: string // 道路运输证URL
  approveOrg: string // 核发机关
  transportIssueDate: Date // 发证日期
  trailerLicenseFurl: string // 行驶证正面
  trailerLicenseBurl: string // 行驶证反面
  owner: string // 所有人
  archivesNo: string // 档案编号
  useNature: string // 使用性质
  approveNum: string // 核定人数
  vin: string // 拖车识别号
  engine: string // 发动机号
  registerDate: Date // 注册日期
  issueDate: Date // 发证日期
  issueOrg: string // 发证机关
  totalWeight: number // 总重量
  curbWeight: number // 整备重量
  trailerTonnage: number // 准牵引重量
  trailerLen: number // 车长
  trailerWidth: number // 车宽
  trailerHeight: number // 车高
  energyType: string // 能源类型
  trailerUrl: string // 拖车照片
  remark: string // 备注
  vstatus: string // 拖车状态
  authStatus: string // 审核状态
  deptId: number // 机构ID
}

// 挂车管理 API
export const TrailerApi = {
  // 查询挂车管理分页
  getTrailerPage: async (params: any) => {
    return await request.get({ url: `/base/trailer/page`, params })
  },

  // 查询挂车管理详情
  getTrailer: async (id: number) => {
    return await request.get({ url: `/base/trailer/get?id=` + id })
  },

  // 新增挂车管理
  createTrailer: async (data: TrailerVO) => {
    return await request.post({ url: `/base/trailer/create`, data })
  },

  // 修改挂车管理
  updateTrailer: async (data: TrailerVO) => {
    return await request.put({ url: `/base/trailer/update`, data })
  },

  // 删除挂车管理
  deleteTrailer: async (id: number) => {
    return await request.delete({ url: `/base/trailer/delete?id=` + id })
  },

  // 批量删除挂车管理
  deleteTrailers: async (ids: string) => {
    return await request.delete({ url: `/base/trailer/deletes?ids=` + ids })
  },

  // 导出挂车管理 Excel
  exportTrailer: async (params) => {
    return await request.download({ url: `/base/trailer/export-excel`, params })
  }
}